/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.siteuseraccount.entity;

import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 绑卡管理Entity
 * @author gy
 * @version 2017-08-05
 */
public class SiteUserBankcard extends DataEntity<SiteUserBankcard> {
	
	private static final long serialVersionUID = 1L;
	private Integer userId;		// 用户ID
	private String cardNo;		// 银行账号
	private Integer cardType;		// 卡种(3:信用卡,2:储蓄卡)
	private String bankName;		// 开户行
	private String bankCode;		// 银行编码
	private String proviceCode;		// 开户行所在省编码
	private String cityCode;		// 开户行所在市编码
	private String bankAddr;		// 开户行地址
	private String remainPhone;		// 预留手机号
	private String orderId;		// 第三方流水号
	private Integer type;		// 1提现卡，2网银充值卡
	private Integer status;		// 0禁用 1正常 2删除
	private String createTime;		// 创建时间
	private String thirdCode;		// 第三方编码
	private Integer unbindStatus;		// 解绑状态 0 未解绑(正常)  1已解绑
	private Integer acctType;		// 0 对私  1 对公
	private String updateTime;		// 更新时间
	
	public SiteUserBankcard() {
		super();
	}

	public SiteUserBankcard(String id){
		super(id);
	}

	@NotNull(message="用户ID不能为空")
	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	
	@Length(min=1, max=20, message="银行账号长度必须介于 1 和 20 之间")
	public String getCardNo() {
		return cardNo;
	}

	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}
	
	public Integer getCardType() {
		return cardType;
	}

	public void setCardType(Integer cardType) {
		this.cardType = cardType;
	}
	
	@Length(min=0, max=20, message="开户行长度必须介于 0 和 20 之间")
	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}
	
	@Length(min=0, max=20, message="银行编码长度必须介于 0 和 20 之间")
	public String getBankCode() {
		return bankCode;
	}

	public void setBankCode(String bankCode) {
		this.bankCode = bankCode;
	}
	
	@Length(min=0, max=20, message="开户行所在省编码长度必须介于 0 和 20 之间")
	public String getProviceCode() {
		return proviceCode;
	}

	public void setProviceCode(String proviceCode) {
		this.proviceCode = proviceCode;
	}
	
	@Length(min=0, max=20, message="开户行所在市编码长度必须介于 0 和 20 之间")
	public String getCityCode() {
		return cityCode;
	}

	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}
	
	@Length(min=0, max=30, message="开户行地址长度必须介于 0 和 30 之间")
	public String getBankAddr() {
		return bankAddr;
	}

	public void setBankAddr(String bankAddr) {
		this.bankAddr = bankAddr;
	}
	
	@Length(min=0, max=20, message="预留手机号长度必须介于 0 和 20 之间")
	public String getRemainPhone() {
		return remainPhone;
	}

	public void setRemainPhone(String remainPhone) {
		this.remainPhone = remainPhone;
	}
	
	@Length(min=0, max=50, message="第三方流水号长度必须介于 0 和 50 之间")
	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	
	@NotNull(message="1提现卡，2网银充值卡不能为空")
	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}
	
	@NotNull(message="0禁用 1正常 2删除不能为空")
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}
	
	@Length(min=1, max=30, message="创建时间长度必须介于 1 和 30 之间")
	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}
	
	@Length(min=0, max=30, message="第三方编码长度必须介于 0 和 30 之间")
	public String getThirdCode() {
		return thirdCode;
	}

	public void setThirdCode(String thirdCode) {
		this.thirdCode = thirdCode;
	}
	
	@NotNull(message="解绑状态 0 未解绑(正常)  1已解绑不能为空")
	public Integer getUnbindStatus() {
		return unbindStatus;
	}

	public void setUnbindStatus(Integer unbindStatus) {
		this.unbindStatus = unbindStatus;
	}
	
	public Integer getAcctType() {
		return acctType;
	}

	public void setAcctType(Integer acctType) {
		this.acctType = acctType;
	}
	
	@Length(min=0, max=30, message="更新时间长度必须介于 0 和 30 之间")
	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}
	
}